home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <xsd:schema targetNamespace="http://knightware.biz/dsp/schema"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:dsp="http://knightware.biz/dsp/schema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="6.0">
- <xsd:include schemaLocation="dsptypes.xsd"/>
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Deep-Sky Planner observation log import/export schema.
- Copyright © 2012 Knightware, LLC. All rights reserved.
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:element name="ObservationLog">
- <xsd:complexType>
- <xsd:sequence>
- <!-- Reference lists are required but may not have content -->
- <!-- Reference list of areas keyed by areaname -->
- <xsd:element name="areas">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="area" type="dsp:areaType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Reference list of timezones keyed by timezonename -->
- <xsd:element name="timezones">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="timezone" type="dsp:timezoneType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Reference list of locations keyed by sitename -->
- <xsd:element name="locations">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="location" type="dsp:locationType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Reference list of sessions keyed by site & begin time -->
- <xsd:element name="sessions">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="session" type="dsp:sessionType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Reference list of observers keyed by observername -->
- <xsd:element name="observers">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="observer" type="dsp:observerType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Reference list of instruments keyed by instrumentname -->
- <xsd:element name="instruments">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="instrument" type="dsp:instrumentType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Reference list of cameras keyed by cameraname -->
- <xsd:element name="cameras">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="camera" type="dsp:cameraType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Reference list of optical filters keyed by filtername -->
- <xsd:element name="filters">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="filter" type="dsp:filterType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Reference list of eyepieces keyed by eyepiecename -->
- <xsd:element name="eyepieces">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="eyepiece" type="dsp:eyepieceType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Reference list of barlows and reducers keyed by barlowname -->
- <xsd:element name="barlows">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="barlow" type="dsp:barlowType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <!-- List of observations -->
- <xsd:element name="observations">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="observation" type="dsp:observationType" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <!-- End of observations list -->
- </xsd:sequence>
- <!-- schemaVersion -->
- <xsd:attribute name="schemaVersion" type="xsd:string" use="required"/>
- <!-- producer -->
- <xsd:attribute name="producer" type="xsd:string" use="optional"/>
- </xsd:complexType>
-
- <!-- Key constraints -->
- <xsd:key name="areaKey">
- <xsd:selector xpath="./areas/area"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:key name="timezoneKey">
- <xsd:selector xpath="./timezones/timezone"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:key name="locationKey">
- <xsd:selector xpath="./locations/location"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:key name="sessionKey">
- <xsd:selector xpath="./sessions/session"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:key name="instrumentKey">
- <xsd:selector xpath="./instruments/instrument"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:key name="cameraKey">
- <xsd:selector xpath="./cameras/camera"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:key name="filterKey">
- <xsd:selector xpath="./filters/filter"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:key name="eyepieceKey">
- <xsd:selector xpath="./eyepieces/eyepiece"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:key name="barlowKey">
- <xsd:selector xpath="./barlows/barlow"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:key name="observerKey">
- <xsd:selector xpath="./observers/observer"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
- <xsd:key name="observationKey">
- <xsd:selector xpath="./observations/observation"/>
- <xsd:field xpath="@id"/>
- </xsd:key>
-
- <!-- Relations -->
- <!-- Saxon warns of no QNames in xpath attributes -->
- <xsd:keyref name="areaKeyRef" refer="dsp:areaKey">
- <xsd:selector xpath="./locations/location" />
- <xsd:field xpath="areaId" />
- </xsd:keyref>
- <xsd:keyref name="timezoneKeyRef" refer="dsp:timezoneKey">
- <xsd:selector xpath="./locations/location" />
- <xsd:field xpath="timezoneId" />
- </xsd:keyref>
- <xsd:keyref name="sitenameKeyRef" refer="dsp:locationKey">
- <xsd:selector xpath="./sessions/session" />
- <xsd:field xpath="sitenameId" />
- </xsd:keyref>
- <xsd:keyref name="sessionKeyRef" refer="dsp:sessionKey">
- <xsd:selector xpath="./observations/observation" />
- <xsd:field xpath="sessionId" />
- </xsd:keyref>
- <xsd:keyref name="instrumentKeyRef" refer="dsp:instrumentKey">
- <xsd:selector xpath="./observations/observation" />
- <xsd:field xpath="instrumentId" />
- </xsd:keyref>
- <xsd:keyref name="cameraKeyRef" refer="dsp:cameraKey">
- <xsd:selector xpath="./observations/observation" />
- <xsd:field xpath="cameraId" />
- </xsd:keyref>
- <xsd:keyref name="eyepieceKeyRef" refer="dsp:eyepieceKey">
- <xsd:selector xpath="./observations/observation" />
- <xsd:field xpath="eyepieceId" />
- </xsd:keyref>
- <xsd:keyref name="filterKeyRef" refer="dsp:filterKey">
- <xsd:selector xpath="./observations/observation" />
- <xsd:field xpath="filterId" />
- </xsd:keyref>
- <xsd:keyref name="barlowKeyRef" refer="dsp:barlowKey">
- <xsd:selector xpath="./observations/observation" />
- <xsd:field xpath="barlowId" />
- </xsd:keyref>
- <xsd:keyref name="observerKeyRef" refer="dsp:observerKey">
- <xsd:selector xpath="./observations/observation" />
- <xsd:field xpath="observerId" />
- </xsd:keyref>
- </xsd:element>
- </xsd:schema>